Portable explosive or drug detection system

ABSTRACT

Systems and methods are disclosed to automatically detect the presence of a substance on a test swipe by capturing a background image of the test swipe; applying one or more test chemicals to a test swipe; adjusting the temperature of the test swipe to a predetermined temperature range; capturing an in-situ image of the test swipe after the application of chemical at the predetermined temperature range; subtracting the background image from the in-situ image; generating a difference value from the two images; and searching a known database to identify the substance.

BACKGROUND

This invention relates to systems for the detection of explosives and other controlled substances such as drugs or narcotics as well as other chemicals used in clandestine activities.

Recent terror attacks have changed the dynamics of the explosive detection systems across the globe. Terrorists, acting singly or in concert, instill immense fear and apprehension in civilians and governments alike with their technical knowledge about explosives. In parallel, the world has experienced an increase in the transportation of contraband substances such as drugs or narcotics.

With advances in explosives technology, such as the advent of the plastic explosives, which can be disguised as common items, it is becoming increasingly difficult to detect these substances. The problems that must be overcome in the detection of these substances as well as others, include low vapor pressure of the particular vapors escaping from the particular substance, the search time and the throughput of the various systems, the low concentration of vapor or particulate emissions from the particular substance, isolation of the particular substance with a high degree of reliability, and maintaining the integrity of the systems environment.

Various techniques for detecting substances such as explosives and drugs or narcotics have been developed, ranging from explosives/drug sniffing dogs to highly sophisticated vapor detection devices. Machine detection of the aforementioned substances can be accomplished through non-vapor detection or vapor detection. Non-vapor detection methods include x-ray detection, gamma-ray detection, neutron activation detection and nuclear magnetic resonance detection. These methods of detection are more applicable to the detection of the various substances when the substances are concealed and are carried or associated with non-living items such as baggage as these techniques might pose a threat to living items. Vapor detection methods include electron capture detection, gas chromatography detection, mass spectroscopy detection, plasma chromatography detection, bio-sensor detection and laser photo-acoustic detection. These methods of detection are more applicable to the detection of substances that are concealed and associated with living specimens.

Conventional systems tend to be large and immobile. Further, current systems can require users to manually apply toxic chemicals as testing agents. As a result, conventional systems are not mobile and hard to use. Hence, their adoption for field use has been limited.

SUMMARY

In one aspect, systems and methods are disclosed to automatically detect the presence of a substance on a test swipe by capturing a background image of the test swipe; applying one or more test chemicals to a test swipe; adjusting the temperature of the test swipe to a predetermined temperature range; capturing an in-situ image of the test swipe after the application of chemical at the predetermined temperature range; subtracting the background image from the in-situ image; generating a difference value from the two images; and searching a known database to identify the substance.

In another aspect, a portable handheld chemical analytical apparatus to analyze a test swipe for chemicals such as household, drug, and clandestine, and explosive chemicals is disclosed. The apparatus includes a heater to warm the test swipe to a predetermined temperature; a clamp to secure the test swipe to the heater; one or more pumps to dispense one or more chemicals onto the test swipe; a fan to circulate chemical vapors rising from the test swipe; and a camera to capture an image of the test swipe for analysis.

In yet another aspect, a method to analyze a swiped sample to identify a chemical composition, includes automatically pumping a series of chemical solution agents into the swiped sample; heating the swiped sample to one or more predetermined temperatures, held for a specific time increment at that temperature to accelerate and optimize the chemical reactions and resulting color; capturing one or more images of the chemical reaction; sending the images to a display screen for operator observation; and analyzing the images to identify the chemical composition based on a chemical reaction database.

Advantages of the system may include one or more of the following. The system tests the presence of chemical materials or compounds using a number of factors or parameters singly, sequentially, or in concert. The factors can include heat, volume, time, temperature, and vapor control, among others and sequences these factors over time. The sequences can be in unique intervals. As a result, the system is highly reliable and reduces “false positives” due to its multi-factor, multi-step diagnostic operations.

The system significantly enhances the possibility of accurately and quickly screening personnel, equipment, and materials at security checkpoints, military operations, law enforcement, or other screening scenarios, and for detecting trace levels of explosive materials. The system allows users to precisely, sequentially, and quickly detect different explosive or other chemical agents under adverse climate conditions such as high humidity and pressure changes.

The system operates in a real-time fashion. It automatically dispenses a precise volume of chemical solutions over time when requested. The system optionally allows users to manually control the sequence of the pumping process. The system provides users with pump controls for dispensing chemical solutions. Through the built-in heater, the system automatically heats up the swiped sample to predetermined temperatures over specific time parameters using an automatic ramped heating feedback control. The system automatically and continually performs self-check and monitors fluid levels, temperature and time. The system automatically chronologically stores data and arranges according to positive results versus negative results. The system automatically tells the operator to remove the analyzed swipe. The system delivers a unique sequence of precise chemical volumes under time, heat, and vapor parameters. The system has detachable and expendable chemical(s) in cartridge form for ease of replacement. The system uses a high-resolution digital camera for data collection and analysis.

By use of a wired or wireless transceiver, detected information can be easily transmitted or received anywhere in the world. By replacing disposable swipes/pads/swabs and disposable chemical test reservoirs, the system can detect a wide range of explosives, clandestine material, drugs, and household products used to manufacture explosives, a range of controlled chemical agents, drugs, and narcotics etc. By allowing the user to swap test materials and running computerized diagnostics, the user can easily and effectively change the system to meet what is considered to be the threat at that time. By having all components under program control and by arranging for a known input to the system such as a controlled injection of target material, the system can perform self-calibration and self-diagnostic.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other objects, features, and advantages of the present invention will be better understood from the following detailed descriptions taken in conjunction with the accompanying drawings, all of which are given by way of illustration only, and are not limitative of the present invention, in which:

FIGS. 1A1 and 1A2 show an exemplary image processing flowchart to detect chemical substances using a camera.

FIG. 1B1 shows an exemplary diagram illustrating hue quantization.

FIG. 1B2 shows an exemplary color processing flowchart.

FIG. 1C shows an exemplary process to generate a master database of chemical substances to be compared against.

FIG. 2 shows an exemplary portable chemical detection device.

FIGS. 3A and 3B show in more details major components of the device.

FIG. 4 shows in more details a swipe receiving port.

FIG. 5A shows an exemplary perspective view of a camera in a test chamber.

FIG. 5B shows an exemplary perspective view of tubing and camera actuator in the test chamber.

FIG. 6 shows an exemplary block diagram of processing electronics for the system of FIG. 1.

FIG. 7 shows an exemplary operational flow chart executed by the system of FIG. 1.

FIG. 8 shows an exemplary image analysis process executed by the processor of FIG. 6 to detect chemical agents automatically.

DESCRIPTION

The following detailed description of the invention is provided to aid those skilled in the art in practicing the present invention. Even so, the following detailed description of the invention should not be construed to unduly limit the present invention, as modifications and variations in the embodiments herein discussed may be made by those of ordinary skill in the art without departing from the spirit or scope of the present inventive discovery.

FIGS. 1A1 and 1A2 (collectively FIG. 1A) shows an exemplary process that can capture and process an image to detect a chemical substance. In one embodiment, the process of FIG. 1A runs on a handheld device that offers accurate, reliable analysis and portability while keeping power consumption to a minimal requirement. As discussed in more details below, the handheld device has a processor that captures images of a test swipe and executes image processing code on the image and compares data from the test swipe against a known substance database. If a match occurs, the system notifies the user.

Viewing FIGS. 1A1 and 1A2 together, a process for performing image processing on a test swipe is shown. The process configures a camera (502). The process checks if the camera has been successfully configured (504). If not, the process generates a hardware warning (542) and exits. Alternatively, if successful, the process configures a parallel port (PPI) and the direct memory access (DMA) ports in 506. Next, the process checks to see if the ports are properly configured (508). If not, the process generates a hardware warning (542) and exits. Alternatively, if the operation in 508 is successful, the process opens an image database (510) and checks for success (512). If there is no database, the process creates a new database (514).

From 512 or 514, the process captures a background pattern with the swipe (516). Next, the process waits for a heater to change the temperature of the swipe to a predetermined temperature range (518). The process then captures a sample pattern of the swipe after chemicals are applied and after it is at the predetermined temperature (520). The sample pattern is subtracted from the background pattern (522) and a histogram is computed (524).

In (524), the histogram can be a plot of the number of pixels for each possible grayscale value. The histogram is a graph that shows the distribution of intensities in an image. The horizontal axis represents the full range of tonal values, the vertical axis indicates the number of pixels for each intensity value. In one embodiment that compares two images on a specific basis, such as texture, the process can normalize their histograms to a “standard” histogram. Histogram equalization can be used through the application of a function b=(a) into a histogram that is constant for all brightness values. This would correspond to a brightness distribution where all values are equally probable.

Next, the process matches the image against a known substance database. In this process, the process searches for an item in the database (526). The process picks the first database element and computes a difference measure such as the Euclidean distance between the database element and the histogram (528). The difference is checked to see if it is within a predetermined threshold (530). The user is notified (532) if there is a match and the process moves to operation (536) to see if the testing procedure is completed. If there is no match, the process checks to see if the sample data has been compared against all known database elements (534). If not, the pointer is incremented to the next database element and the process loops back to (536) to compare the sample data against the next database element. Alternatively, if the sample data does not match any elements in the database, a message is displayed to indicate no matching pattern. From operation (536), if additional testing operations remain, the process loops back to apply a different chemical and perform another test. If the testing procedure is completed in (536), the process exits.

The process of FIGS. 1B1-1B2 detects the explosive materials using the colors resulting from chemical reactions. In order to do this, the camera captures raw RGB data and processes the data using a color recognition algorithm shown in FIG. 1B2.

FIG. 1B1 shows an exemplary diagram illustrating hue quantization while FIG. 1C shows an exemplary color processing flowchart. The camera operates in the RGB color space. However, since the R, G, and B components are equally important in distinguishing a color, the system quantizes them uniformly to create the RGB histogram. This may result in a large amount of data to be processed. On the other hand, the HSV color space is a non linear one. The system applies a non uniform quantization to each dimension of this space, as illustrated in FIG. 1B1 to arrive at the HSV color space in one embodiment.

In one embodiment, the RGB to HSV conversion is defined by the following equations. In these equations, MAX and MIN represent the maximum and minimum values of each RGB triplet, respectively. H, S, and V vary from 0 to 1, where 1 represents the greatest saturation and value.

$H = \left\{ {{\begin{matrix} {{\left( \frac{G - B}{{MAX} - {MIN}} \right)/6},{{{if}\mspace{14mu} R} = {MAX}}} \\ {{\left( {2 + \frac{B - R}{{MAX} - {MIN}}} \right)/6},{{{if}\mspace{14mu} G} = {MAX}}} \\ {{\left( {4 + \frac{R - G}{{MAX} - {MIN}}} \right)/6},{{{if}\mspace{14mu} B} = {MAX}}} \end{matrix}S} = {{\frac{{MAX} - {MIN}}{MAX}V} = {MAX}}} \right.$

After RGB to HSV conversion, the system quantizes hue, saturation and value to given numbers of bins. Since hue and saturation play the most important role in identifying a color, a non-uniform quantization is used to reduce the computational load. For example, hue is quantized using N_(H)=24 bins, saturation using N_(S)=4 bins, while value using N_(V)=3 bins. Using the quantized values of hue, saturation and value, the histogram for each component is constructed.

Next, the histogram Euclidean distance is determined. Let h and g respectively represent the reference HSV histogram and the histogram of the test image. Each histogram is organized as an array of integer elements. Each element contains the probability that the HSV values fall to some bin. Then, Euclidean distance is computed as:

$d = {\sum\limits_{i = 1}^{N}{h_{i}g_{i}}}$ Where N is the length of each array. N is determined as follows:

-   -   N=N_(H) if we utilize only Hue component to detect the color     -   N=N_(H)N_(S) if we utilize Hue and Saturation components to         detect the color     -   N=N_(H)N_(S)N_(V) if we utilize all three components to detect         the color     -   N_(H), N_(S), N_(V) are respectively the quantization bins of         Hue, Saturation and Value.

FIG. 1B2 shows an exemplary process to perform color processing. In FIG. 1B2, the process converts image data from RGB space to HSV space (550). Next, the HSV data is quantized as described above (552). The process creates an HSV histogram (554). Next, a threshold distance d_(th) and a minimum distance d_(min) are set (556) and the databases are opened (558). The process reads one histogram g from the database (560). The process computes a Euclidean distance d (562). The process then checks to see if the minimum distance is met (562) and if so the current substance (as indicated by the histogram) is the best match so far. The process saves the name of the material as a candidate (564) and updates the minimum distance (568). From (562), if the current histogram is a worse match than the best so far, the process jumps to (570) to examine the next histogram in the database. The process then reads the next histogram for comparison (570) and iterates the testing of each histogram through the end of the database (580). In this manner, the process checks for the best match.

Once the entire database has been checked, if the distance is less than the threshold distance in 582 indicating that the minimum match requirement has been met, the process displays the substance name (584). Alternatively, if the histogram of the material being tested differs so much from any of the histograms stored in the database, the process displays a “No Match” message (586) and exits.

FIG. 1C shows an exemplary process to generate a database of chemical substances that is compared against by the process of FIG. 1A. The process of FIG. 1C generates a known test element database. The test database contains a unique signature for each chemical substance to be tested against. For example, if the system is to check for the presence of cocaine, a sample cocaine element is obtained, a test swipe is applied against the cocaine element, and the test swipe is run through the image processing operations detailed in FIG. 1A The result is saved as an exemplary database storing signatures of chemical substances operating in conjunction with the system of FIG. 1A.

Turning now to FIG. 1C, a user selects a control test swipe and applies the swipe against a known predetermined substance (600). Next, the user programs into the device a test sequence including temperature range and chemical(s) to be applied against the test substance (610). The system of FIG. 2 then processes the test swipe in accordance with the test sequence, including a temperature range/sequence of temperature, and a sequence of chemical(s) to be dispensed (620). Other variables in the processing sequence can be specified as well. In (630), the result of the imaging analysis, as well as the test sequence, is saved for the future. A test swipe applied to unknown substances will be processed in an identical manner and the result can then be compared to the controlled result generated in FIG. 1A.

One example is a sequence involving chemistry, time, temperature ramp rates and hold times to optimize each of the results for explosives, drugs, or other threat chemicals within a chemical reaction sequence. The system always adjusts the start temperature (404) (FIG. 8) prior to running a particular sequence to a predetermined temperature value. An example of this may be 35° C. whereby the swipe (32) (FIG. 2) retaining a wet or dry sample is adequately held and in intimate contact with the elements of the swipe holder (34) (FIG. 4). Not mentioned in this section are the specific parameter controls for fan speed, LED lighting, pumping increments, GUI, camera, speaker, or display.

The background image of the swipe at this temperature is taken so as to subtract out any colors that may be present on the swipe prior to analysis. A selected chemical reactant from one of the reservoirs is then pumped onto the swipe in a non-drip fashion and in a volume of 20-30 μL, most favorable being 25 μL. The system takes a second image of the chemically reacted sample on the swipe and immediately processes this image from the subtracted background for color indicating peroxides. The second image then becomes the new background image whether peroxides are present or not for the next analyte sought which is hexamethylene triperoxide diamine HMTD.

Further reacting of the sample material on the swipe, the heater element begins rapidly heating only the sample area on the swipe with temperature setting ramp rates of 10-20° C. per minute to 115° C., most favorable being 15° C. per minute. During the ramp, a third image is taken between 5-15 seconds, 12 seconds being most favorable, to analyze for color indicating HMTD. The system takes a third image of the chemically reacted sample on the swipe and immediately processes this image from the second background for presence of HMTD. Once the heater element reaches 115° C., it then holds a for 20-40 seconds, 30 seconds being most favorable. The third image then becomes the new background image whether HMTD was present or not for the next analyte sought which is triacetone triperoxide TATP.

During the hold time, a fourth image is taken of the chemically reacted sample on the swipe at 25 to 30 seconds, 28 seconds being most favorable, and immediately processes this image from the third background for presence of the color indicating TATP. The fourth image then becomes the new background image whether TATP was present or not for the next analytes sought which are chlorates.

During the same hold time, a fifth image is taken of the chemically reacted sample on the swipe at 25 to 35 seconds, 30 seconds being most favorable, and immediately processes this image from the fourth background for presence of the color indicating chlorates. The fifth image then becomes the new background image whether chlorates were present or not for the next analyte sought which is TNT.

The heater element begins rapidly heating only the sample area on the swipe with temperature setting ramp rates of 10-20° C. per minute to 140° C., most favorable being 15° C. per minute. Simultaneously, a second selected chemical reactant from one of the reservoirs is then pumped onto the swipe in a non-drip fashion and in a volume of 20-30 μL, most favorable being 25 μL. Once the heater element reaches 140° C., it then holds for 10-20 seconds, 10 seconds being most favorable. During the second temperature ramp, a sixth image is taken between 5-15 seconds, 8 seconds being most favorable, to analyze for color indicating TNT. The sixth image then becomes the new background image whether TNT was present or not for the next analytes sought which are all high explosives.

The heater element begins rapidly heating only the sample area on the swipe with temperature setting ramp rates of 10-20° C. per minute to 155° C., most favorable being 15° C. per minute. Simultaneously, a third selected chemical reactant from one of the reservoirs is then pumped onto the swipe in a non-drip fashion and in a volume of 20-30 μL, most favorable being 25 μL. Once the heater element reaches 155° C., it then holds for 10-20 seconds, 20 seconds being most favorable. During the third temperature ramp, a seventh image is taken between 5-15 seconds, 5 seconds being most favorable, to analyze for colors indicating all high explosives. The seventh image then becomes the new background image whether high explosives were present or not for the next analytes sought which are all nitrates.

The heater element continues to hold at 155° C. and from 10-20 seconds, an eighth image is taken between 10-20 seconds, 15 seconds being most favorable, to analyze for colors indicating all nitrates. The heater element immediately cools down for the next sample run.

Another example of a single test involving chemistry, time, temperature settings, and hold times to optimize results for a chemical reaction involves depositing one or more of the chemical reactants from their respective reservoirs onto the swipe in a non-drip fashion. This is to impart a single spot test or multiple spot tests for a single drug or drugs, a single explosive or explosives, or other threat chemicals at ambient or preset temperature conditions that results in a single color or an array of colors unique to that material under the temperature settings and reagents applied.

FIG. 2 shows an exemplary portable chemical detection device 10. The device 10 has a housing 20 that supports a display 22 and input devices such as an on-off button 24 and navigation/selection buttons 26. In one embodiment, the system has six buttons. The first button is the On/Off button. This button allows user to turn the unit on or off. The remaining five buttons (Left, Right, Down, Up, and Enter) allows user to interact with a Graphical User Interface (GUI) of the system. The GUI is flexible, efficient and user friendly.

The device 10 also has an input/output port 28 such as a USB port or Firewire port to communicate with a remote computer, and AC power port, among others. In one embodiment, the I/O port 28 is a weather proof PC interface. The PC interface can set up operation parameters and recover analyzed data. In another embodiment, the I/O port 28 can include a flash memory card interface.

The device 10 also includes two ports 30 and 40 to receive user replaceable test swipe media and chemical(s), respectively. The device 10 also includes a port 41A to receive a user replaceable DC battery cartridge. Port 30 receives a test swipe 32. The port 40 receives a chemical cartridge, which can house one or more chemical containers. An electronic controller 58 (shown in FIGS. 3A AND 3B) receives inputs from the buttons or keys and controls the display 22 and other electronics in the device 10. The system can work with different power sources including battery port 41A and/or a DC input port 41B such as a car jack or an AC/DC adaptor.

The system of FIG. 2 is preferably a hand-held unit, which can most preferably be operated easily in real time by one operator. Moreover, the operation of such detectors should preferably be simple so that non-technical persons can operate the instrument properly, efficiently, and easily.

FIGS. 3A and 3B are two perspective top views that show in more details major components of the device 10. In the embodiment of FIG. 3A, a plurality of chemical containers or reservoirs 42 are mounted in a disposable cartridge 44 that is inserted into the unit 10. The reservoirs 42 are punctured via safety needles with a side port and the chemicals are automatically or manually pumped from the reservoirs 42 by one or more micro-pumps 46. The chemicals are delivered through one or more short length and small diameter delivery tubes connected to the outputs of the micro-pumps 46 to the test swipe 32 during testing.

To test a contaminate collection swipe, a user opens the port 30 and places a test swipe 32 into a swipe holder 34. The swipe holder 34 moves along sliding rails 36 when the user closes the port 30 to place the test swipe 32 under a test chamber 38. The test chamber 38 includes a chamber with two openings 52 that face a variable speed fan 54 to draw air across the test swipe 32 while under test. The test chamber also includes a heating element 56 connected to a PID loop that can warm up the test swipe 32 to multiple predetermined temperature settings during test. The test chamber also contains a camera 39 (FIGS. 3A AND 3B)

FIG. 4 shows in more detail port 30 that receives the test swipe 32 of FIG. 3A in the swipe holder 34. The swipe holder 34 includes a door 60 by which a user can press against to open or close the port 30. The swipe holder 34 also includes an open face press-fit clamp 62 that secures the swipe 32 against a heating element 64 under the swipe 32 upon closure. The swipe holder 34 is attached to rails 66 that slide within rails 68 to enable the swipe holder 34 carrying the test swab 32 to move in and out of the device 10. An enclosure for the swipe holder 34 is formed by positioning a lid 70 with an opening 72 between the sliding rails 68. The opening 72 allows movable tubes from the micro-pumps 46 to dispense test chemicals onto the swipe 32. The opening 72 also allows a camera 39 (FIG. 5A) to capture images of the test results for automatic real-time analysis of the test. A white-light source such as an LED is positioned near the camera that can be turned on to provide lighting if needed and turned off when not used to conserve power. In one embodiment, the camera output is shown on the display 22 (FIG. 2) so that the user or operator can visually determine the test result(s) while the automated determination is in progress. The opening 72 also allows a variable speed fan 54 to gently move vapor away from the camera lens to avoid fogging the lens (anti-fogging).

The disposable chemical supply to be inserted into port 40 (FIG. 2) contains one or more reservoirs, each having an inlet that can be punctured and is re-sealable so that the chemical in each reservoir can be accessed by a tip or safety needle. The disposable cartridge also has a key cooperating with a recess to ensure that the cartridge can only be inserted in a predetermined orientation. A micro-pump 46 (FIG. 3A) assembly receives the cartridge. Needles are provided to puncture the cartridge and to provide chemicals through short length, narrow gauge tubes (not shown) to their respective inputs at the micro-pumps. Each micro-pump has an inlet that is connected to the needles that may or may not include safety tips and that are inserted into each reservoir when the user inserts the cartridge into the device. Another set of tubes are connected to the outputs of the micro-pumps 46 to deliver the chemicals in precise volume, sequence and timing as controlled by the processing electronic controller 58.

FIGS. 5A and 5B show an exemplary perspective view of a camera 39 in conjunction with the test chamber 38. The chamber 38 includes a motor 92 driving a gear 94. The gear 94 cooperates with a moveable arm 96 that moves test tubing fixture 98 back and forth over the test swab 32 during testing. The test tubing fixture 96 moves very closely to the swipe 32 for chemical deposit onto the swipe when the device 10 is held in any orientation. The arm 96 includes a plurality of openings that receive a plurality of tubes from the output of the micropumps 46. The arm 96 also moves the fixture 98 out of the way for the camera 39 to capture changes on the test swipe 32 during testing. The camera images are then analyzed, and the result can then be displayed on the display 22. In one embodiment, the camera 39 can capture raw images with 65,536 colors. The camera is protected with an anti-fog feature using the adjustable speed fan 54. The image data can be shown continuously throughout the entire process on a flip-up display 22 with high fidelity. In one embodiment, the system provides a software JPEG encoder and decoder for storing and viewing previous results and images. The system also includes white light LEDs (not shown) located within the test chamber 38 that provides even, shadow free, and uniform lighting during camera 39's operation with a programmable white light intensity. The LEDs minimize shadows in the camera viewing area.

The swipe holder 34 moves along rugged sliding rails 66 when the user closes the port 30 to place the test swipe 32 under the test chamber 38. The test chamber 38 includes a chamber with two openings 52 that face the fan 54 to draw air across the test swipe 32 while under test. The test chamber also includes a heating element 64 that can warm up the test swipe 32 to a predetermined temperature during test.

FIG. 6 shows an exemplary block diagram of processing electronics for the system of FIG. 1. A processor 200 controls all tasks done by the system. The processor 200 communicates over a bus 202 to various devices, including buttons interface 204, fan driver 206, speaker driver 208, display controller 210, micro-pump driver 212, and USB controller 214. The processor 200 also communicates with embedded memory 220 and a programmable ROM 224 that contains boot code as well as application code. The processor 200 also drives buffers 226, 228 and 230 which controls the LED, infrared sensor that informs the operator if a swipe has been loaded into the test chamber 38, and heat filament, respectively. The infrared sensor is positioned under the swipe and acts as a proximity sensor to detect the presence or absence of a swipe by the amount of light reflected back. The processor 200 or controller actuates the motor to drive a solution delivery manifold to the center of the swipe and in close proximity to the swipe to dispense the solution without dripping, regardless of orientation. The controller can monitor fluid levels within each reservoir contained in the disposable cartridge. This is done by decrementing available volume each time the pump is actuated and when the count reaches a low threshold, the controller can indicate that the reservoir is out of chemical.

The system is powered by a 12-volt DC source, which can be generated from an AC/DC converter, a car outlet or from eight 1.5-volt batteries in series. The highest prioritized energy source is from an AC/DC converter followed by the one from a car outlet, then the energy from batteries. The 12-volt DC power source will supply current to the heater and the pump. It is also connected to the low drop voltage regulator to generate different voltage levels such as 5 V, 2.8 V and 3.3 V, which are necessary for the processor and for other peripherals as well.

In one embodiment as a Portable Explosive Trace Detector (PETD), the system of FIG. 6 significantly enhances the detection of the explosive materials as well as speeding up the screening and detecting procedures at security checkpoints. First, the PETD automatically pumps a series of chemical solution agents into the swiped sample and heats up to a specific temperature to accelerate the chemical reactions. Second, an internal CMOS camera captures the chemical reaction images at its highest resolution, raw data for better image analysis. Third it then sends these raw images of data to the LCD (Liquid Crystal Display) screen for the purpose of observation. Moreover, the JPEG codec will be developed for storing and replaying image functions. The LCD screen provides a high quality image for human viewing. The LCD can analyze the image to identify explosive materials based on the provided chemical reaction database. Last but not least, the PC interface can be used to update software and firmware as well as to backup the data.

In one implementation, to start the analysis process, the system instructs the micro-pump(s) N (i.e., N=1, 2, 3 . . . or a combination thereof) to disperse the chemical solution into the Swiped Sample. The pumping rate is set to 2 Hz. After dispersing chemical solution, the system starts heating the sample to excite the chemical reactions under controlled vapor, time, temperature, and chemical volume conditions specific to a particular analyte or group of analytes. A current of about one ampere is applied to heat up the heating filament. During the heating process, the fluctuation of the temperature is controlled by a feedback circuit with a thermistor.

When the temperature of the sample swipe reaches a predefined value, the system turns the heater off, the white light LED on and the fan on. The speed of the fan is adjustable using pulse width modulation control in one embodiment.

Before commanding the camera's CMOS image sensor to capture an image, the system waits for the chemical reaction to complete for around 1 ms. The captured image is then displayed on the LCD.

The system creates a result image by subtracting the captured image from the background one. Then the result image is compared with the color patterns in the lookup table stored in the system. If the results image matches some color pattern, the result probability will be displayed and an optional audible alarm is given or not. Otherwise, an appropriate message is displayed on the LCD.

During the process of writing to the memory, (e.g., saving results or updating database), the system is able to detect the memory capacity and give the user a warning of full memory. In such a case, the user needs to clear the memory by deleting certain files before commanding the system to continue its work.

In one embodiment, the system executes a prime pump procedure to clear up air and chemical bubbles in the tubes of minimized length and diameter once the system has been idled for more than 12 hours. If the system has not been used for the past 12 hours then the system prompts the user to place an empty swipe sample into a clamp holder. Once a swipe sample is secured on the clamp holder, the system prompts user to do the prime pump procedure by pumping chemical solutions onto swipe sample. During the prime pumps, the camera captures the image from the swipe and displays it on the LCD screen. During the prime pumps, no heat is applied to the swipe.

In one embodiment, in the main menu, user can see the date, the time and current status of the system. The system can generate a warning alarm once battery, chemical level and memory reach their minimal levels. The menu also contains three (3) software programmable buttons, namely New Analysis, Previous Results, and Settings. User can interact with these soft buttons by using the five hard buttons. The New Analysis option is highlighted as default. The usage of these soft buttons is as follows:

-   -   New Analysis: allows user to perform a new test.     -   Previous Results: allows user to trace back the data tested in         the past.     -   Settings: allows user to set parameters such as date, time, to         test the system reliability, or to connect to PC for firmware         and/or database update.

The user can see the images taken by the camera. The system status is also displayed. In addition, three (3) soft buttons (Start, Stop, and Status) are provided. The Start option is highlighted as default.

FIG. 7 shows an exemplary operational flow chart executed by the system of FIG. 1. When the system is turned on by pressing the Start Power On button, it will stay in IDLE state 304. In this state, the system waits for user commands. By default, both the camera lighting LED and the fan are turned off. The system sends an appropriate message alarm to the operator once chemical, battery, and memory reach their minimal level. User may command the system to perform a new test by selecting New Analysis, to view previous results and images by selecting Previous Results, or to update the firmware and/or database.

When the option of performing a New Analysis is selected, the system checks whether the Slide Door Switch is closed or not (360). If the door is not closed, it will display a warning message (400) and return to IDLE state 304. Otherwise, it looks for a loaded Swiped Sample using the infrared sensor (362). The presence of the sample allows the system to move to the next state, where it checks for the fluid levels of the three reservoirs to ensure that the fluids are enough for the entire test process (364). The amount of fluid is determined by the number of dispenses (i.e., a full bottle is enough for a predetermined number of dispenses and the number is decremented during each of the dispenses).

Before continuing, the system checks the temperature of the filament if it is equal to 35° C. in one embodiment. Otherwise, it will have to heat the filament until the temperature of the filament reaches 35° C. (374) (FIG. 7D). At this temperature, the user is allowed to choose different options. If the user presses the Stop button (368), the system will stop the work and return to the IDLE state. If the user chooses the Status button (370), the system will temporarily display its current task to turn the system status on/off. After that it returns and continues the previous work. When the user presses Start button (372), the system turns the Fan on to blow the fog or vapor away from the camera, turns the LEDs on, turns the fan 39 to a low speed and takes a background image using the camera (378). Then, the system will select a particular micro-pump N=1 or a series of micro-pumps (N=1, 2. 3 . . . or a combination thereof) and start analyzing the sample based on the image analysis process (380-386). Once the New Analysis operation is in process, it takes a number of different tests (in one embodiment seven tests) non-stop and summarizes the test results after the last test has completed. The image results are saved automatically as a group by a time date stamp and can be further sorted by positive or negative results for ease by viewing recall (392-394). Different audible sounds can be played at the end of each test to catch the operators attention. The image result is obtained by subtracting the current image from its initial background image. After finishing this analysis, the system asks user if he/she wants to review the test summary or else return to the main menu.

When the option of viewing previous results is selected, the user can select his/her desired filename and presses Display button to command the system to decompress and display the image and/or other necessary information (402-408).

When the option of updating date, time, database and/or firmware is selected (306), the system shows a menu to allow the user to choose different options such as update date, time, or upgrade the firmware, or test the reliability of the system. For example, when the user presses the date button (308), the system allows the user to change the date via the buttons of the system. After the date is confirmed to be changed, the system will store the change in its memory and return to the previous menu to allow the user to choose other options. The changes of the time (310) functions in the same manner as the change of the date.

In case the user wants to update the database by pressing Database button (316), the system communicates with the PC in order to set up a channel for data transfer (312). Upon a successful connection the user can update database and/or firmware. After the firmware or database is updated, the user presses the Ok button to return to the main menu. When the system connects to the PC unsuccessfully, it warns the user to check the connection (316).

When the user wants to test the reliability of the system, the user can press the Test button (322). As soon as this button is pressed, the user can test different system parameters. He/she can save the changed parameter or restore default parameter. When the user presses Exit button, system returns to the main menu.

By having all components under program control and by arranging for a known input to the system such as a controlled injection of target material, the system can perform self-calibration and self-diagnostic. The function of this program is to calibrate the entire system and determine and store the required time, and temperature parameter, among others. If these parameters are not within specified limits for any reason, the program can alert the user. Guided by a service program the user response can range from immediate shutdown to scheduling service at a later date, to simply noting the circumstances.

FIG. 8 shows an exemplary image analysis process executed by the processor 200 to detect chemical agents automatically. To start the analysis process, the system turns the micro-pump(s) N (i.e., N=1, 2, 3 . . . or a combination thereof) to disperse the chemical solution into the Swiped Sample. The pumping rate is set to 2 Hz. After dispersing chemical solution, the system starts heating the sample to excite the chemical reactions. A current of about 1 Ampere is required to heat up the filament. When the temperature of the sample reaches a predefined value, the system turns the heater off, the LED and the fan on. In one embodiment, before commanding the CMOS image sensor to capture an image, the system waits for the chemical reaction under optimized: time, temperature, volume dispensed, and vapor to complete for around 1 ms. The captured image is then displayed on the LCD. The system creates a result image by subtracting the captured image from the background one. Then the result image is compared with the color patterns in the lookup table stored in the memory. If the results image matches some pattern, the result will be displayed and an audible alarm is given. Otherwise, an appropriate message is displayed on the LCD.

Due to the automated analysis, the system provides an objective indication of potential threats with more accurate results and more convenience.

The invention may be implemented in hardware, firmware or software, or a combination of the three. Preferably the invention is implemented in a computer program executed on a programmable computer having a processor, a data storage system, volatile and non-volatile memory and/or storage elements, at least one input device and at least one output device.

By way of example, a block diagram of a computer to support the system is discussed next. The computer preferably includes a processor, random access memory (RAM), a program memory (preferably a writable read-only memory (ROM) such as a flash ROM) and an input/output (I/O) controller coupled by a CPU bus. The computer may optionally include a hard drive controller which is coupled to a hard disk and CPU bus. Hard disk may be used for storing application programs, such as the present invention, and data. Alternatively, application programs may be stored in RAM or ROM. I/O controller is coupled by means of an I/O bus to an I/O interface. I/O interface receives and transmits data in analog or digital form over communication links such as a serial link, local area network, wireless link, and parallel link. Optionally, a display, a keyboard and a pointing device (mouse) may also be connected to I/O bus. Alternatively, separate connections (separate buses) may be used for I/O interface, display, keyboard and pointing device. Programmable processing system may be preprogrammed or it may be programmed (and reprogrammed) by downloading a program from another source (e.g., a floppy disk, CD-ROM, or another computer).

Each computer program is tangibly stored in a machine-readable, removable storage media or device (e.g., program memory or magnetic disk) readable by a general or special purpose programmable computer, for configuring and controlling operation of a computer when the storage media or device is read by the computer to perform the procedures described herein. The inventive system may also be considered to be embodied in a computer-readable storage medium, configured with a computer program, where the storage medium so configured causes a computer to operate in a specific and predefined manner to perform the functions described herein.

The invention has been described herein in considerable detail in order to comply with the patent Statutes and to provide those skilled in the art with the information needed to apply the novel principles and to construct and use such specialized components as are required. However, it is to be understood that the invention can be carried out by specifically different equipment and devices, and that various modifications, both as to the equipment details and operating procedures, can be accomplished without departing from the scope of the invention itself.

Although specific embodiments of the present invention have been illustrated in the accompanying drawings and described in the foregoing detailed description, it will be understood that the invention is not limited to the particular embodiments described herein, but is capable of numerous rearrangements, modifications, and substitutions without departing from the scope of the invention. The following claims are intended to encompass all such modifications. 

1. A method to detect the presence of a substance on a test swipe, comprising: capturing a background image of the test swipe; applying one or more test chemicals to a test swipe; adjusting the temperature of the test swipe to a predetermined temperature range; capturing an in-situ color image of the test swipe after the application of chemical at the predetermined temperature range; subtracting the background image from the in-situ image; generating a difference value from the two images; and searching a known database to identify the substance based on the color image.
 2. The method of claim 1, comprising removing chemical vapor rising above a predetermined distance above the test swipe to avoid fogging a camera lens.
 3. The method of claim 1, comprising fanning chemical vapor rising above a predetermined distance above the test swipe to avoid fogging the a camera lens.
 4. The method of claim 1, comprising placing a solid state light source near the camera to provide lighting.
 5. The method of claim 4, wherein the solid state light source comprises an LED.
 6. The method of claim 1, wherein a plurality of chemicals are applied in parallel on different parts of the test swipe.
 7. The method of claim 1, wherein the one or more chemicals are applied in sequence, each swipe elevated to a predetermined temperature for each chemical.
 8. The method of claim 1, wherein the chemicals are applied at one time.
 9. The method of claim 1, wherein the chemicals are applied in sequence.
 10. The method of claim 1, comprising generating a database of known substances by applying one or more chemicals to one or more control swipes.
 11. The method of claim 10, comprising generating a signature of each substance by subtracting a background image against an image of each control swipe with one or more chemicals applied thereto, wherein the one or more chemicals applied to the test swipe and the control swipe are identical.
 12. The method of claim 10, comprising exposing the control swipe and the test swipe to the same predetermined temperature sequence.
 13. The method of claim 10, comprising dispensing one or more chemicals onto the test swipe and the control swipe through one or more pumps throughout the temperature sequence.
 14. The method of claim 1, comprising removing chemical vapors rising a predetermined distance from the test swipe with a fan at the predetermined distance.
 15. The method of claim 14, comprising performing automatic calibration under different lighting environments.
 16. The method of claim 1, comprising heating the test swipe to one or more predetermined temperatures and hold times using an automatic ramped heating feedback control.
 17. The method of claim 1, comprising performing image analysis in real-time.
 18. The method of claim 1, comprising protecting a camera with a fan to remove vapor from the camera and provide anti-fog protection.
 19. The method of claim 1, comprising displaying the in-situ image in real-time for user review while analyzing the image to detect the substance.
 20. An apparatus to analyze a test swipe to identify a chemical composition, comprising: a heater to warm the test swipe to various predetermined temperatures at various hold times; a clamp to secure the test swipe to the heater; one or more pumps to dispense one or more chemicals onto the test swipe from a disposable cartridge; a fan to remove chemical vapors rising a predetermined distance from the test swipe but leaving vapors immediately in contact with the swipe; a camera to capture a color image of the test swipe for analysis and for real-time viewing by the operator to provide secondary level of assessment; and a processor and computer readable code coupled to the camera, the computer readable code includes capturing a background image of the test swipe; applying one or more test chemicals to a test swipe; adjusting the temperature of the test swipe to a predetermined temperature range; capturing an in-situ color image of the test swipe after the application of chemical at the predetermined temperature range; subtracting the background image from the in-situ image; generating a difference value from the two images; and searching a known database to identify the substance based on the color image. 